NIST负责任可信AI:对抗性机器学习攻击方式和缓解措施分类和术语
想象一辆配有驾驶辅助系统的智能汽车正在道路上行驶,能够在没有司机把持方向盘的情况下,通过计算机视觉模型识别并维持当前车道。一个聪明的对手(Intelligent Adversary)可能通过在道路上布置干扰(如,刻意设置的标记)尝试误导算法,使得汽车偏移至对向车道。此类误导性标记通常难以被司机所注意,但足以误导车道识别算法的决策[1]。一个更为聪明的对手可能在模型训练阶段下手,在训练数据中加入有毒样本,从而实现“物理后门”——被“毒害”的模型在识别到特定物体时将偏离原路线,或者驶入对向车道[2]。对抗性机器学习所要研究的正是这种对手与模型间的对抗博弈过程,以及如何确保机器学习模型不受此类对抗行为的影响,以确保其安全、稳定的方法。
美国国家标准及技术研究所(NIST)于2024年1月发布对抗性机器学习(Adversarial Machine Learning, AML)攻击方法和术语的报告[1],主要关注针对不同类型的人工智能系统的各类对抗性机器学习攻击方法及缓解措施。报告从不同的机器学习技术类型、技术生命周期的不同阶段、不同的攻击阶段、攻击者目标和能力等维度,构建了对抗性机器学习攻击方法的层级化概念体系,给出了相应的应对和管理方法并明确了进一步的挑战。报告还根据对抗性机器学习文献定义了一个术语表。通过此报告,NIST意图推动对抗性机器学习领域形成共同语言和共识,并为AI系统安全测评、安全管理实践及标准化工作提供参考与指引。
1
基础概念及背景
NIST认为可以将AI系统分为两大类:预测式AI(Predictive AI,简称PredAI)和生成式AI(Generative AI,简称GenAI)。鉴于AI系统及服务正在各国经济活动及人们的生活、在实体或者虚拟环境中被广泛部署,NIST依据其于2023年一月发布的《人工智能风险管理框架(AI RMF 1.0)》强调AI系统的“三性”:安全性(Security)、稳健性(Robustness)及弹性(Resilience,也可译为恢复性、抵抗力等),并强调AI系统的弹性运营(Resilient operation)能力。前述指标通过风险(Risk)予以评定。NIST将风险定义为“一个实体(如系统)受潜在情景或事件(如攻击)威胁的程度,以及一旦发生此类事件,结果的严重性”,但不涉及组织或社会的风险承受能力。相应地,对抗性机器学习风险评价基于如下五个要素展开:AI系统类型(预测式或生成式);机器学习方法以及发生攻击的机器学习生命周期阶段;攻击者目的和目标;攻击者能力;攻击者对于机器学习过程和其他方面所掌握的知识。
图 1 总体分类维度
报告列举了一些AI系统所可能面临的风险场景:
(一)对于PredAI:以自动驾驶汽车所使用的计算机视觉程序为例,对于输入系统的图像进行扰动可能导致车辆偏离至对向道路、不能正确识别停止标志或限速标志,甚至不能正确识别戴眼镜的人。在医疗领域,如果机器学习模型被部署用于协助医师,则可能造成病人病历被从模型中泄漏。
(二)对于GenAI:以大语言模型(LLMs)为例,因LLMs正在逐渐成为互联网基础设施和软件应用程序的内在组成部分,如被用于在线搜索、构建编程助手或者驱动客服聊天机器,或被接入企业数据库和文件库以实现“生成式检索增强”(Retrieval Augmented Generation,RAG)[2],从而为企业商业秘密和专有数据创造了一个新的攻击面。
报告另指出,大量闭源LLMs的数据集中不可避免地包含隐私信息。隐私信息在数据集中复现次数越多,越有可能被泄露,从而对在线隐私造成重大风险。袭击者可以操纵训练数据,使得预测式或生成式AI容易遭受攻击。由于训练数据从互联网获取,攻击者可以进行大规模数据投毒(Data Poisoning at Scale)以制造脆弱点,从而在模型部署下游制造安全漏洞。此外,鉴于业界普遍采用开源预训练模型,攻击者可以在预训练模型中植入木马以减损模型可用性、强制模型进行错误处理或使得模型在接到特定指令时泄露数据。
不仅如此,模型的多模态发展也制造了新的脆弱点。对于单一模态模型,攻击手段通常被限制于某一模态之内,如针对图像分类的攻击手段通常不能迁移至语言模型。但随着多模态模型的发展,能够同时作用于所有模态的攻击手段也已涌现。
此外,公共API使得模型直接暴露于互联网环境。攻击者可以通过公共交互界面向模型输入可接受的数据,从而轻易突破模型的隐私保护措施并打破模型的保密性。报告指出,对抗性机器学习所面临的挑战与现代密码学存在区别——在现代密码学中,人们可以从信息论意义上证明一个加密算法的安全性,但同样的证明方式无法适用于主流机器学习算法。最后,用于部署模型的平台也可能遭到传统网络安全攻击。
2
PredAI攻击分类及应对措施
图 2 PredAI攻击分类概览[3]
(一)分类依据
图 3 PredAI分类依据
本段介绍了据以对PredAI对抗性机器学习攻击进行分类的一些依据,主要包括:
1. 机器学习阶段(Stages of Learning)
机器学习包括训练阶段和部署阶段两个部分,对抗性机器学习攻击可能发生于两个阶段的任意之一。
(1)训练阶段攻击(Training-time attacks)。发生于训练阶段的攻击即为投毒攻击(Poisoning Attacks)。在数据投毒攻击(Data Poisoning Attacks)中,攻击者通过插入或篡改训练样本,控制训练数据的一个子集。在模型投毒攻击(Model Poisoning Attacks)中,对手控制模型及其参数。数据投毒攻击可以适用于一切机器学习范式,包括但不限于无监督学习、有监督学习、半监督学习、强化学习、联邦学习(Federated Learning)和集成学习(Ensemble Learning);而模型投毒攻击主要适用于联邦学习和供应链攻击(Supply-chain Attack):在联邦学习中,客户可以向聚合服务器发送本地模型更新;在供应链攻击中,模型技术供应商可以在模型中加入恶意代码。
(2)部署阶段攻击(Deployment-time Attacks),包含两种可能在部署(Deployment)或推理(Inference)时刻发起的攻击类型。首先,回避攻击(Evasion attacks)通过篡改测试样本以创造对抗性实例(Adversarial Examples)[4]。对抗性实例与初始样本相似,但是会改变模型预测结果使其遵从攻击者的选择。其次,隐私攻击(Privacy attacks)通常由拥有查询访问权限(Query access)的攻击者发起,可以进一步被分为数据隐私攻击(Data privacy attacks)和模型隐私攻击(Model privacy attacks),如成员推断(Membership inference)和数据重构(Data reconstruction)。
2.攻击者目的和目标(Attacker Goals and Objectives)
报告主要依据信息系统的三项主要安全属性保密性、完整性、可用性(Confidentiality, Integrity, Availability, 简称CIA)对攻击者目标进行分类,并相应划分为可用性破坏(Availability Breakdown)、完整性侵袭(Integrity Violations)和私密性减损(Privacy Compromise),分别对应图2中所展示的三个圆圈。
(1)可用性破坏。在可用性破坏中,攻击者在模型部署阶段不加区分地实施攻击,以减损模型性能,可以通过数据投毒或者能源效率攻击(Energy-latency Attacks)[5]实现。其中,能源效率攻击需要查询访问权限。目前,已经有针对支持向量机、线性回归模型以及神经网络的数据投毒攻击方法被提出,而模型投毒攻击主要被设计于破坏神经网络和联邦学习。在近期,仅需对模型的黑盒访问(Black-box Access)的能源效率攻击方法也已被提出,主要用于破坏计算机视觉模型和自然语言处理领域的各种神经网络模型。
(2)完整性侵袭。完整性侵袭以机器学习模型的输出的完整性(Integrity)为攻击目标,旨在致使模型进行不正确的预测。完整性侵袭可以通过在部署阶段发起回避攻击或者在训练阶段发起投毒攻击的方式实现。回避攻击要求篡改测试样本以创造对抗性实例,这种实例足以使得模型作出不正确的分类,但对人类仍保持隐蔽且无法感知。通过投毒(Poisoning)实现的完整性攻击可被分类为定向投毒攻击(Targeted Poisoning Attacks)、后门投毒攻击(Backdoor Poisoning Attacks)和模型投毒。其中,定向投毒攻击假设攻击者能够控制训练数据,通过插入少量有毒样本以实现完整性侵袭。后门投毒攻击则要求在有毒样本和测试样本间制造一种“后门规律”(Backdoor Pattern)[6],需要攻击者能够同时控制训练和测试数据。模型投毒攻击则可能导致定向攻击或者后门攻击,攻击者通过篡改模型参数以实现完整性侵袭,主要被设计于破坏集中学习(Centralized Learning)和联邦学习等训练范式。
(3)私密性减损。攻击者可能会想要了解训练数据的有关信息,进而威胁数据私密性,或者想要了解模型的有关信息,进而威胁模型私密性。针对训练数据的私密性,攻击者可能拥有不同的攻击目标(Objectives),比如通过数据重构(Data Reconstruction)以推测训练数据内容或特征,或者通过数据窃取(Data Extraction)从生成式模型中窃取训练数据,或者通过属性推断(Property Inference)推测训练数据分布特征。模型窃取(Model Extraction)则是一种以窃取有关模型的信息为目的的、针对模型私密性的攻击手段。
3.攻击者能力(Attacker Capabilities)
报告将攻击者能力依据攻击目标分为6类,分别是:
(1)训练数据控制(Training Data Control)。指攻击者对于机器学习模型训练数据中某一部分的控制程度。攻击者可能通过插入或篡改训练样本取得对于训练数据的一个子集的控制,进而用于数据投毒攻击。
(2)模型控制(Model Control)。指攻击者对于机器学习模型参数的控制程度。攻击者可以通过生成木马触发器并将其插入模型,或者在联邦学习中发送恶意的本地模型更新,从而控制模型参数。
(3)测试数据控制(Testing Data Control)。指攻击者对测试数据的控制程度。攻击者可能在模型部署阶段对测试样本添加扰动,以在回避攻击中用于生成对抗性实例,或者用于后门投毒攻击。
(4)样本操纵限度(Label Limit)。指在有监督学习中,攻击者对训练样本标签不享有控制的程度。此项能力与有监督学习中限制攻击方对训练样本标签的控制程度有关。净标签投毒攻击(Clean-label poisoning)假设攻击者不控制有毒样本的标签,这与现实投毒攻击场景相符;而常规投毒攻击假设攻击者对中毒样本的标签享有控制。
(5)源代码控制(Source Code Control)。指攻击者对于机器学习算法源代码的控制程度。攻击者可能篡改机器学习算法源代码,比如随机数生成器或第三方库(通常是开源的)。
(6)查询访问权限(Query Access)。如果机器学习模型由云服务商管理(MLaaS模式),攻击者可能会向模型提交查询并接收预测结果(标签或模型置信度)。黑盒规避攻击、能源效率攻击(Energy-latency attacks)和所有隐私攻击都会使用这种功能。
4.攻击者知识(Attacker Knowledge)
基于攻击者对机器学习系统的了解程度,可以把对抗性机器学习攻击划分为三类:白盒攻击(White-box attacks)、黑盒攻击(Black-box attacks)与灰盒攻击(Grey-box attacks)。
(1)白盒攻击。白盒攻击假设攻击者完全了解机器学习系统,包括训练数据、模型结构、模型超参数等。做如上假设的意义在于测试机器学习系统针对可能面临的最糟糕场景的抵御能力,并评估潜在的缓解方法。白盒攻击也囊括了自适应攻击(Adaptive attacks)的概念,即攻击者明确了解并跟踪模型或系统所应用的应对措施。
(2)黑盒攻击。黑盒攻击假设攻击者对机器学习系统只掌握最低限度的知识。比如,攻击者可能尝试获取模型的查询访问权限,但他们并不了解模型的训练方式。此类攻击最符合现实情形,因为攻击者除了使用现有的系统交互界面外,对AI系统不掌握其他知识。
(3)灰盒攻击。灰盒攻击中的攻击者掌握介于白盒和黑盒攻击之间的知识。比如,攻击者可能了解模型架构,但是不了解模型参数;可能了解模型参数,但是不了解训练数据。灰盒攻击常常假设攻击者可以访问与训练数据分布相同的数据,并且知道特征表示。对于需要在训练机器学习模型前进行特征提取的应用场景,比如网络安全、金融或医疗领域中,后一种假设具有重要意义。
5.数据模态(Data Modality)
尽管多数现存的攻击和防御手段仅适用于单一模态,但机器学习所使用的数据正逐渐向多模态发展。对此,报告给出了一种不受具体应用中数据模态影响的攻击分类方式。
(1)图片(Image)。图像数据模式的对抗性实例具有连续域的优势,且基于梯度的方法可直接用于优化。后门投毒攻击最初是针对图片提出的;众多隐私攻击亦基于图片数据集运行。图片模态包含其他类型的成像方式,比如LIDAR(Light Detection and Ranging,光学雷达)、SAR(Synthetic Aperture Radar,人造光圈雷达)、红外感光成像、超光谱成像等。
(2)文本(Text)。主要针对自然语言处理(NLP),针对NLP的所有类型的攻击都已被提出。
(3)音频(Audio)。主要针对音频系统及语音识别系统。
(4)视频(Video)。随着视频理解模型在视觉-语言任务上的能力愈发强大,它们的脆弱点也越来越多。
(5)网络安全(Cyebrsecurity)。针对网络安全的首个投毒攻击最初在蠕虫标签生成(Worm signature generation)及骚扰邮件分类系统中被发现。自此以后,针对恶意软件分类、恶意PDF检测和安卓恶意应用程序分类的投毒攻击都已出现。此外,工业控制系统(Industrial Control System,ICS)、数据采集与监视控制系统(Supervisory Control and Data Acquisition System,SCADA),作为电网、各型发电厂、污水处理厂、炼油厂等现代关键基础设施(Critical Infrastructure,CI)的关键组成部分,鉴于其遭到破坏后的严重后果,正愈发成为有吸引力的攻击对象。由于定向秘密攻击的存在,基于纵深防御的侦测和缓解机制也已被开发。尽管由数据驱动的机器学习异常侦测方法能够让机器学习算法自动化地学习网络攻击特征,但也造成了一些特殊的挑战,比如相关算法需要非常低的假阴性和假阳性率、捕捉零日攻击的能力、对于工厂运行偏移(Plant operational drift)的考虑等。尝试满足上述需求会使得机器学习模型更易受到对抗性机器学习攻击。
(6)表格数据(Tabular Data)。在金融、商业及医疗领域,已经出现多种基于表格数据的对抗性学习攻击方法,比如针对医疗和商业软件的可用性投毒攻击、针对医疗数据的隐私攻击,以及针对金融应用的回避攻击。
最后,多模态机器学习模型(主要是图片和文本模态)正在兴起。一些研究展示了多模态模型可能对攻击有更强的抵御性,而另一些研究显示多模态模型可能更易受到同时作用于多种模态的攻击。如何对多模态模型抵御回避攻击、投毒攻击和隐私攻击的能力进行测试与刻画仍是一个开放性挑战。
(二)具体攻击类型及应对措施
图 4 PredAI具体攻击类型
1.回避攻击及应对方式
在回避攻击中,攻击者的目标是生成对抗性实例(Adversarial examples),即一类测试样本,能够在造成尽可能小的扰动的前提下,能够使得模型在部署阶段产生的分类结果符合攻击者的意思。有关回避攻击的研究最早在1988年已经产生;自Szedegy等人于2019年发布的研究显示用于图像分类的深度神经网络能够被轻易操纵之时起开始获得学界的广泛关注。在图像分类的情景中,由初始样本造成的扰动必须足够小,以至于对人眼不可见,使得样本能够被机器学习模型分类为攻击者所想要的类别,但人类看来其仍归属于原有类别。2013年,Szedegy等人及Biggio等人针对线性模型和神经网络各自发现了一种通过将梯度优化应用到一个对抗性目标函数以生成对抗性实例的有效方法,两种方法均需对模型的白盒访问[7][8]。在后续的研究中,两种方法被不断优化,扰动有所降低。即使在更为现实的黑盒场景中,攻击者仅拥有模型的查询访问权限,或者更进一步地,能够获取模型的预测标签或者置信度,深度神经网络仍然易受对抗性实例攻击。在黑盒场景下生成对抗性实例的方法比如零阶优化(Zeroth-order optimization)、离散优化、贝叶斯优化以及“可迁移性”(Transferability,一种先在白盒模型上生成对抗性实例,再迁移至目标模型的方法)。网络安全和图像分类是最早出现回避攻击的应用领域,但随着人们对对抗性机器学习的研究兴趣不断发展,诸如语音识别、自然语言处理和视频分类等其他领域的机器学习技术也逐渐落入视野。
报告指出,有关如何应对对抗性实例的研究极具挑战性,值得进行更多研究。这一领域向来有一种基于相对弱的对抗性模型开发的防御手段被发布后,进而被更强大的攻击手段所突破的、无止尽迭代式的发展历程。对应对措施的评估应当面向强大的、适应性的攻击进行。在如何应对来自回避攻击的关键威胁这一问题上,最有前途的研究方向是对抗性训练(Adversarial training,一种在训练阶段迭代式地生成并插入对抗性实例及其对应的正确样本的方法)、经认证的方法(Certified techniques)如随机平整(Randomized smoothing,在噪声影响下评估机器学习预测结果),以及正式的验证方法(Formal verification techniques,使用正式方式验证模型的输出)。以上方式均有自身的局限,如对抗性训练和随机平整会带来模型准确性的下降,而正式的验证方法会增加计算复杂性,此为在准确性和稳健性(Robustness)之间的取舍,正如在模型的稳健性和公平性保证(Fairness guarantees)间同样存在取舍[9]。
2.投毒攻击及应对方式
投毒攻击从广义上被定义为在机器学习算法训练阶段发起的对抗性攻击。投毒攻击在网络安全领域的历史已久,首个投毒攻击系由R. Perdisci等人于2006年提出,被用于生成蠕虫标签[10];自此以后,投毒攻击在多个领域得到了广泛研究:计算机系统安全(如骚扰邮件检测)、恶意软件分类、网络入侵检测、脆弱点预测、计算机视觉、自然语言处理及金融和医疗领域的表格数据。在近期,随着一份由微软发布的报告表示在工业生产领域部署的机器学习系统系投毒攻击的最关键脆弱点,工业控制领域的投毒攻击也开始得到更多注意[11]。另一份在最近发布的研究显示,一个仅拥有有限资源的攻击者可以通过控制一部分用于模型训练的公开数据集实施大规模的投毒攻击[12]。
(1)可用性投毒(Availability Poisoning)
报告指出,投毒攻击是一类非常强大的攻击,可能对模型可用性或者完整性造成破坏。具体而言,针对可用性的投毒攻击会不加区分地破坏机器学习模型针对所有样本的性能,而定向投毒或者后门投毒更加隐蔽,且仅针对一小部分目标样本造成可用性减损。数据投毒、模型投毒、标签控制、源代码控制、测试数据控制等均为实施各类型投毒攻击所需要的能力。
应对方案:报告指出,针对可用性的投毒攻击通常可以通过监测机器学习的标准性能指标予以发现,比如精度、召回率、准确率、F1分数以及倾向于造成分类器指标下降的“曲线下方区域”。应对措施应该尽可能在训练阶段实施,通过强化模型的稳健性,预防投毒攻击的发生。一些总体上较为有效的方法包括:训练数据清洗(Training Data Sanitization),即在开始训练前从训练集中清除有毒样本;稳健训练(Robust Training),即一种针对一般训练(regular training)的替代措施,比如训练模型并进行聚合,再通过模型投票(model voting)的方式产生预测结果。
(2)定向投毒(Targeted Poisoning)
定向投毒则是一种仅对少量目标样本的预测结果造成改变的攻击方式。比如,如果攻击者可以控制训练样本的标签函数,就可以通过标签翻转(label flipping)有效实现定向投毒攻击。攻击者仅需插入数个带有目标标签的带毒样本,那么模型就会习得该错误标签。因此,有关定向投毒的研究一般基于净标签场景(clean-label setting),即攻击者无法访问标签函数的场景。
应对方案:Matthew Jagielski等人的一项研究展示,针对亚群的定向投毒攻击无法被彻底防御。因此,报告建议通过适时地采取网络安全手段防御定向投毒攻击,以确保数据集可溯源性(dataset provenance)以及完整性验证(integrity attestation),比如差分隐私训练(differentially private training)[13]。但是,差分隐私训练可能会牺牲模型准确性,需要在具体应用中予以衡量。此外,随着中毒样本范围的扩大,差分隐私训练的稳健性会迅速下降。
(3)后门投毒(Backdoor Poisoning)
后门投毒攻击最初由Tianyu Gu等人在其有关BadNets的论文中提出。他们发现,在训练阶段向图片数据子集加入一个小的触发器,然后将其标签变更为目标类型,可以成功使图片分类器中毒[14]。此过程中,分类器习得触发器与目标类型间的联系,以至于任何带有触发器或者后门模式的图片都将在测试阶段被错误分类至攻击者的目标类型。Chen等人的研究则使得后门投毒攻击的触发器能够无缝混入训练数据中。最近几年,后门攻击正变得愈发复杂且隐蔽,如隐后门攻击(Latent backdoor attacks)被设计为能够在模型经过干净数据的精调后仍能发挥作用。后门生成网络(Backdoor Generating Network)是一种动态后门攻击,通过不断变化触发器在有毒样本中的位置,使得模型习得触发器不受其位置影响[15]。功能性攻击(Functional Attacks)[16]被嵌入于整个图像中,或者依据输入不断变化,如Li等人所发明的一种使用隐写(steganography)算法隐藏训练数据中的触发器的方法[17]、Liu等人所发明的一种使用图片中的自然反射作为后门触发器的方法[18],以及Wenger等人所发明的一种针对人脸识别系统的,使用太阳镜、耳环等物体作为触发器的方法。类似的攻击载体(attack vector)对于音频、自然语言处理、网络安全等其他数据模态同样有效。
应对措施:报告指出,现存针对后门投毒攻击的应对措施显著多于其他类型的投毒攻击,在总体上可以分为三类:训练数据清洗、触发器重构(Trigger reconstruction)以及模型检查和清洗(Model inspection and sanitization)。其中,触发器重构旨在假定触发器位于训练样本中确定位置的前提下复现后门触发器,如Liu等人提出的Artifcial Brain Simulation (ABS)[19];模型检查和清洗则意图在部署模型前确定其是否受到毒害,目前已经提出了NeuronInspect[20]、DeepInspect[21]和Meta Neural Trojan Detection(MNTD)[22]等方法。报告另指出,既存方法大都基于卷积神经网络并针对静态触发器或后门触发模式设计,因此具有局限性;多数新兴的语义(semantic)或者功能性(functional)触发器会对触发器重构和模型检查和清洗等方法造成较大挑战。采用元分类器(meta classifers)对木马模型(即携带后门的模型)进行预测的方式需要训练上千个影子模型(shadow models)[23],具有极高的计算复杂度。因此,如何开发出不受前述诸多限制的应对方法以保护机器学习模型不受后门投毒攻击,还需要更多的研究。
(4)模型投毒
模型投毒攻击中,攻击者意图通过向模型插入恶意功能的方式直接篡改模型,如TrojNN就是一种通过逆向工程方法从训练完毕的神经网络中获取触发器,再通过在嵌入了触发器的外部数据上重新训练神经网络的方式进行投毒[24]。多数模型投毒攻击系基于联邦学习场景而设计,由客户端上传本地模型更新信息至一个服务器,并累加至一个全局模型。由此,受损客户端(compromised client)可能通过上传恶意更新的方式向全局模型投毒。可用性投毒攻击、定向投毒攻击和后门投毒攻击均适用于联邦学习场景下的模型投毒攻击。此外,模型投毒攻击也可能出现在供应链场景中。上游供应商提供的模型或组件可能包含恶意代码。比如,Andrew Yuan等人提出的Dropout Attacks是一种通过操纵神经网络训练中失活器(Dropout operator)的方式实现的模型投毒方法[25]。所谓失活是指在神经网络训练中,有时会随机抛弃一些神经元以缓解过拟合现象。该攻击通过将随机失活篡改为攻击者选定的方式,破坏模型的精度、准确性及针对特定目标类型的召回率。
应对措施:已有一定数量的拜占庭抗性累积法则(Byzantine-resilient aggregation rules)被提出,用于在联邦学习中防御模型投毒攻击,其中多数旨在服务器叠加过程中识别并排除恶意模型更新;梯度剪切(Gradient clipping)及差分隐私策略也有一定效果,但是均不能提供完全的保护。此外,鉴于攻击者可能掌控机器学习算法或者超参数的源代码,防御供应链投毒攻击仍然极具挑战性。如何设计能够抵御供应链攻击的稳健机器学习模型仍然是一个需要业界解决的关键问题。
3.隐私攻击及应对方式
尽管隐私攻击长期为人们所关注,针对用户记录所产生的总体信息(aggregate information)的隐私攻击,最初自Dinur和Nissim提出的数据重构(Data Reconstruction)攻击开始。数据重构攻击旨在基于对于总体信息的访问,通过逆向工程的方式获得有关个体用户记录或者敏感基础设施记录的私密信息。另一类隐私攻击是成员推断(Membership Inference)攻击,旨在确定某一特定记录是否包含在统计运算的数据集或者机器学习模型的训练数据内,最迟由Homer等人针对基因组数据提出[26]。最后一类隐私攻击是属性推断(Property Inference)攻击,旨在从某一训练数据集中提取全局性信息,如训练样本的某一部分是否包含某种敏感属性。
(1)数据重构
数据重构攻击,作为一类有能力从累积的放出信息中回复个人信息的攻击,具有最严重的威胁。Dinur和Nissim最先提出了从线性统计数据中恢复用户数据的方法[27]。他们最初的攻击需要指数级数量的查询来进行重构,但随后的工作表明用多项式数量的查询即足以进行重构。美国人口普查局(U.S. Census Bureau)曾开展过一次关于人口普查数据遭到重构攻击风险的大规模调查[28],进而推动了差分隐私在2020年美国十年人口普查数据发布中的运用。众多文献介绍了各类针对机器学习分类器的数据重构方法。神经网络“记忆”训练数据的倾向一定程度上解释了为什么训练样本可以被重构。
(2)成员推断
在某些场景中,确认某一个体是否属于训练数据集具有私密性上的意义,比如在罕见病的病理学研究中。此外,成员推断攻击可以作为数据窃取攻击的前置步骤。
成员推断攻击最初由Homer等人在其所发明的“Tracing attacks”(追踪攻击)中针对基因组数据的统计学运算提出。现有关于成员推断攻击的研究主要针对用于分类的深度神经网络开展。攻击者在成员推断中的成功与否,已通过一个受密码学启发的隐私博弈得到了正式定义。在该博弈中,攻击者与挑战者互动以确定目标样本是否被用于训练被访问的机器学习模型。Yoem等人提出的基于loss函数的攻击方法是最高效且广泛运用的方法之一:已知机器学习模型追求在训练数据上使loss最小化,如果目标样本的loss值低于一个特定阈值,则属于训练数据[29]。最后,已有数个公开库正在提供成员推断攻击的实施方案,包括TensorFlow Privacy library和ML Privacy Meter等。
(3)模型窃取
在模型即服务(MLaaS)场景中,云服务提供商通常使用专有数据训练机器学习模型,且希望保持模型架构及参数私密。攻击者的目标即在于通过向模型提交查询访问请求,提取有关模型架构和参数的信息。首个模型窃取攻击由Tramer等人发明,被设计与从包括logistic回归、决策树、神经网络等多类模型中窃取信息;Jagielski等人的研究则表明精准地窃取模型是不可能的,但攻击者可以重构一个在同类预测任务上具有相近性能的等价模型。而即便是构建等价模型的弱任务也难以在多项式时间复杂度内归约到(NP-hard)。现存有关模型窃取的具体方法包括采用代数方法直接计算模型权重、主动学习(Active learning)、强化学习策略及旁路攻击(Side Channel)[30]等。比如,Batina等人提出了一种通过监视磁场变化对简单神经网络模型的激活函数、神经网络层数和各层神经元个数、权重及输出类型总数等信息进行逆向工程的方法[31];Rakin等人则提出了一种针对更复杂的卷积神经网络进行Rowhammer攻击的方法[32]。最后,模型窃取通常作为其他更为强大的攻击的前置步骤实施。
(4)属性推断
在属性推断攻击中,攻击者的目标在于通过与机器学习模型互动,试图获取有关训练数据分布的信息。比如,攻击者可能尝试确定训练数据的某一部分是否包含某种敏感属性,如人口信息,进而可能造成有关训练数据的隐私信息泄露。属性推断攻击最初由Ateniese等人提出[33],并被形式化地定义为一种攻击者和挑战者用不同比例的敏感数据训练两个模型的区分博弈(distinguishing game)。属性推断攻击在白盒与黑盒场景下均已被提出,并且适用于隐马尔可夫模型、支持向量机、联邦学习模型、生成对抗模型、图神经网络模型等多种对象。Mahloujifar 等人和 Chaudhauri 等人的研究表明,攻击者对感兴趣的属性进行投毒有助于为属性推断攻击设计更有效的区分测试。此外,Chaudhauri 等人还设计了一种有效的属性大小估计攻击,可以精确地恢复目标群的一部分。
(5)应对措施
重构攻击促使人们对差分隐私(DP)进行了严格的定义。差分隐私是一种极强的隐私定义,它能够保证攻击者对数据集中每条记录的了解程度受限。差分隐私具有以下几个有用的特性:组隐私(group privacy,即定义扩展到记录数相差k的两个数据集)、后处理(post-processing,即使在处理输出后,隐私也会得到保护)和组合(composition,即如果对数据集进行多次计算,隐私也会得到保护)。根据定义,差分隐私可以有效应对数据重构和成员推断攻击;而差分隐私的定义即意味着攻击者发动成员推断攻击的成功率存在上限。在实践中应用差分隐私的主要挑战之一是设置隐私参数,以便在隐私水平和实际实用性(achieved utility,通常以模型的准确性来衡量)之间实现权衡。近期由Jagielski等人提出的隐私审计(privacy auditing)[34]是一项较有前景的工作,其目标在于通过实证测量算法的实际隐私保证性能,并通过发起隐私攻击来确定隐私保证的下限。审计可以通过成员推断攻击和投毒攻击等方式进行。为了在隐私和实用性之间达到最佳平衡,报告建议采用实证隐私审计来补充有关隐私训练算法的纯理论分析。
此外,现存文献中针对模型窃取攻击方式的防御方法包括限制用户查询访问次数、检测可疑提问或者设计更稳健的抗旁路攻击架构,但这些方法很容易被执着的攻击者所绕过。另一种防范隐私数据泄露的完全不同的方式是机器忘却(Machine Unlearning)[35],即允许用户请求从训练完毕的机器学习模型中移除有关他们数据,现存的具体方式有严格(exact,即重新训练模型或者从某个检查点开始训练)和近似(approximate,即更新模型参数以消除被忘却的记录的影响)。
3
GenAI攻击分类及应对措施
图 5 GenAI攻击分类概览[36]
报告将GenAI系统依据其所使用的AI技术分为三类:生成式对抗网络(Generative Adversarial Network)、生成式预训练变换器(Generative Pre-trained Transformer)和扩散模型(Diffusion Model)。此外,在近期,多模态AI系统开始融合前述两种及以上技术类型以实现多模态的内容生成能力。
图 6 GenAI攻击分类概览
(一)分类依据
大量针对PredAI系统的攻击类型同样适用于GenAI。尽管如此,近新研究开始着重关注由GenAI带来的全新安全侵袭问题。图5直观地展示了由GenAI带来的各类攻击方式。
1.GenAI机器学习阶段
报告指出,由于受到训练集和模型的规模限制,GenAI已不再遵循过往历史上整个模型训练过程(包括数据收集、标注、模型训练、验证、部署等)由单个组织依据一个流程予以完成的方式。恰相反,基座模型(foundation model)通常在预训练阶段主要通过无监督学习予以完成。基座模型内所编码的模式(如文本、图片等)可以被用于下游任务,可以通过精调等方式将其运用至具体应用场景。多数情况下,应用开发者利用一个第三方开发的基座模型开始工作,并精调至他们所需的具体应用场景。因此,依据机器学习阶段,可以对GenAI对抗性机器学习攻击做如下分类:
(1)训练阶段攻击。GenAI(包括图像生成模型、文本模型、音频模型、多模态模型等)的训练阶段由基座模型预训练[37]和模型精调[38]阶段组成。预训练所需的海量数据通常从众多公开来源爬取,进而使得基座模型极易受到投毒攻击。研究显示,攻击者仅需对未经处理的网络数据中任意0.001%进行投毒,就足以在模型中引发预期的故障[39]。此外,攻击者仅需购买已知数据源过期域名中的一小部分即可达成互联网级别的数据集投毒(dataset poisoning)[40]。模型精调也可能受到投毒攻击。
(2)推理(Inference)阶段攻击。GenAI的部署阶段与PredAI存在一定区别,每个模型在部署阶段的使用方式需要依照应用场景具体分析。尽管如此,有关大语言模型和生成式检索增强(RAG)的众多脆弱点,是由大语言模型的数据(data)和指令(instructions)并非由互相区分的信道传输所造成的,进而允许攻击者使用数据信道在推理阶段发起攻击,攻击方式与已有数十年历史的SQL注入攻击相类似。针对主要用于问答和文本概要任务的大语言模型,众多推理阶段攻击系由下列文本生成式模型的通行做法引起:
①模型指令对齐(Alignment via model instructions)。大语言模型的行为在推理时通过预置在模型输入和上下文中的指令进行调整。此类指令通常包含模型描述及具体应用场景(如:“你是一个乐于助人的金融助理,以精准、得体的语言回复...”)。越狱攻击(Jailbreak)直接覆盖此种明确的对齐措施及其他保护措施。此外,由于指令提示词系通过提示工程(prompt engineering)精心制作,攻击者可能通过提示窃取(Prompt Extraction)尝试获取这些指令。此类攻击同样与多模态及文本-图片模型有关。
②根据情境的小样本学习(Contextual few-shot learning)。由于大语言模型是自回归的预测器(autoregressive predictors),可以通过向模型提供用户查询的预期场景中应用模型时所期望的输入输出范例的方式,提高其性能,使得模型更自然地完成自回归任务;
③运行时的第三方数据摄入(Runtime data ingestion from third-party sources)。正如生成式检索增强所特有的运用那样,“情境”(context)是在模型运行时,依据用户查询(query)并由作为应用的一部分的外部数据来源(如文档、网页等)所组成的。间接投毒攻击无需用户实施,仅依赖攻击者操纵系统摄入的外部信息来源以篡改情境的能力即可实现。
④输出处理(Output handling)。大语言模型的输出可能用于填充网页元素,或者构建一个命令。
⑤智能体(Agents)。插件、功能、智能体及其他各类概念均依赖对大语言模型输出的处理实现,用以完成额外任务,并为模型输出提供额外的上下文。某些场景中,大语言模型会根据自然语言提供的配置,从这些外部依赖关系的适当集合中进行选择,使用上下文中的信息填充某种模板以调用代码。
图 7 一种生成式检索增强(RAG)示例。生成式检索增强依赖系统指令、上下文和第三方数据(一般以向量数据库的形式)为用户提供有关联性的回复。
2.攻击者目的和目标
同PredAI。但是,GenAI有一种额外的攻击目标,即滥用(Abuse)。在滥用攻击中,攻击者修改GenAI系统的原定用途以达成自己的目的。攻击者可以利用GenAI的能力以助长仇恨言论或歧视、生成带有暴力信息或者诱发针对特定群体的暴力的媒介,或者通过生产恶意图片、文本或者恶意代码实现规模化的网络攻击活动。
3.攻击者能力
一些新形式的能力包括:
(1)训练数据控制(Training Data Control)。攻击者可能通过插入或篡改的方式,控制一部分训练数据。此能力被用于投毒攻击。
(2)查询访问权限(Query Access)。众多GenAI及其应用(如RAG)以云服务的形式并部署,允许通过应用程序接口(API)进行访问。对于GenAI,攻击者可以通过向模型发出查询以诱发模型的特定动作,可被用于提示注入攻击、提示窃取攻击和模型窃取攻击。
(3)源代码控制(Source Code Control)。攻击者可能控制机器学习算法,如篡改随机数生成器或第三方库,而这些经常是开源的。如HuggingFace这类开源模型库允许攻击者生产恶意模型,或者使用以逆序列化(deserialization)形式嵌入的恶意代码对良性模型进行扭曲。
(4)资源控制(Resource Control)。攻击者可能篡改包括文档、网页等在内的、预期将被GenAI模型在运行时摄入的资源,可被用于间接提示注入攻击。
(二)具体攻击类型及应对措施
1.AI供应链攻击(AI Supply Chain Attacks)
报告指出,安全问题最好从软件、数据、模型供应链、网络及存储系统等各方面综合处理。AI系统属于软件,因此继承了传统软件供应链的诸多脆弱点,但是实践中诸多GenAI任务系从开源模型或数据开始,这已经超出了传统网络安全的范畴。TensorFlow和OpenCV等知名机器学习库具有已知最大的软件脆弱点暴露度。
(1)逆序列化脆弱点(Deserialization Vulnerability)。诸多机器学习项目的第一步是下载一个开源GenAI模型,此类模型一般作为物件(artifacts)以Pickle、Pytorch、Joblib、TenserFlow等格式存储,每种格式都允许某种逆序列化机制,进而使得任意代码执行(Arbitrary Code Execution, ACE)变得可行。通过逆序列化实现的ACE一般被分类为关键脆弱点(Critical Vulnerability),比如CVE(Common Vulnerability and Exposures)项目数据库中所收录的针对TensorFlow的CVE-2022-29216漏洞或Pickle库神经网络工具的CVE-2019-6446库等。
(2)投毒攻击(Poisoning Attacks)。报告指出,文本-图片类GenAI以及语言模型的性能随模型规模、数据集规模和质量增长而增长。基座模型开发者通常从大量未经整理的来源(uncurated sources)“刮取”数据。数据集发布者一般只提供一列URL链接,而这些URL所对应的域名可能过期或者被购买,进而允许攻击者替换其中的数据资源。一种简单的应对措施是随URL提供整个数据集的可验证哈希值,但此方法很难适用于互联网中分发广泛的大数据集。
(3)应对措施。AI供应链攻击可以通过供应链保证措施(supply chain assurance practices)予以应对。为保证模型可信赖,可以对于机器学习进行定期脆弱点扫描、采用safetensors等安全模型格式等。为保证网络规模化数据可信赖,数据集发布者应附随数据集发布可验证哈希,下载者则应将哈希验证作为基本安全实践,以确保数据集完整性。此外,Hadi Salman[41]等人提出了一种增强图片“免疫力”以使其难以被大型扩散模型所篡改的技术方法,可以作为一种应对恶意图片修改的方针。但该方法需要额外的政策配合才能使其有效和实用。
2.直接提示注入攻击(Direct Prompt Injection Attacks)
在直接提示注入攻击中,用户基于改变大语言模型行为的目的,向其“注入”文本。攻击者可能基于多种目的实施此攻击,比如:
滥用。攻击者使用直接提示注入攻击以绕过模型安全机制,从而制造虚假信息、煽动性信息、有害内容、色情内容、恶意软件或代码以及钓鱼信息。基于滥用目的实施的直接提示注入攻击也称为“越狱”(Jailbreak)。
隐私侵入。攻击者可能意图提取系统提示(system prompt)或在上下文中向模型提供的私密信息。此类私密信息本不应被用户所访问。
发起直接提示注入攻击有多种方法,总体可分为如下几类:
基于梯度的攻击(Gradient-based attacks)。这是一种白盒场景下基于优化方法的越狱攻击方法,与PredAI中白盒回避攻击高度类似。HotFlip[42]是Javid Ebrahimi等人于2017年提出的一种攻击方法,最初设计用于在PredAI系统中创造对抗性实例,后续研究将其扩展至GenAI系统中。其机制如下:由于这些自回归模型每次只生成一个标记(Token),因此优化第一个生成的标记以产生肯定式应答往往足以启动自回归生成过程,从而完成一个完全肯定式的语篇。通用对抗性触发器(Universal Adversarial Trigger)[43]是基于梯度的攻击方法的一个特殊类别,它试图找到与输入无关的前置词(或后置词),当这些前置词(或后置词)被包含在内时,无论输入的其余部分如何,都能使模型产生积极响应。通用对抗性触发器具备可迁移性,可以迁移至其他模型,进而使开源模型(已经具备白盒访问条件)成为针对闭源模型的有效攻击载体。
手动方法(Manual methods)。主要分为两类:竞争性目标(competing-objectives)与不匹配的泛化(mismatched generalization)[44]。主要利用模型对特定语言操纵的脆弱性实现,并且超出传统对抗性输入的范畴。
①在竞争性目标中,攻击者向模型提供的指令与模型作者的指令相竞争,主要包括三类:一、前缀注入(Prefix injection):提示模型在开始应答时,先作出肯定的确认,以此影响其后续的生成内容,使其朝着特定的、预定的模式或行为方向发展;二、拒绝遏制(Refusal suppression):向模型提供明确指令,迫使其避免生成拒绝或否定性内容,以确保模型服从于所提供的指令;三、风格注入(Style injection): 指令模型运用一种特定的风格答复,或者避免使用长词语。通过将模型语言风格限制为一种简约或非专业的语气,攻击者可以限制模型回复的复杂性或准确性,从而进一步减损其整体性能。四、角色扮演(Role-play)。采用角色扮演策略,利用模型对于各类角色或特征的适应能力,如著名的DAN(Do-Anything-Now)或AIM(Always Intelligent and Machiavellian,意为“永远聪明且阴险狡诈”),攻击者可以诱使模型采用与初始设计相悖的特定人格或行为特征,进而破坏其对安全措施的遵守。
②在不匹配的泛化中,攻击者所采用的方法与各类安全训练或安全措施相差甚远,输入数据显著偏离模型标准训练数据。一些方法包括:一、特殊编码(Special encoding)。攻击者可能采用特殊编码策略,如base64编码,使得标准识别算法无法识别其表征的输入信息,进而欺骗模型对输入数据的理解并绕过其安全机制;二、字符变换(Character transformation)。采用如ROT13密码表替换文本符号,或者使用摩尔斯密码操纵输入文本,使得对抗性输入得以规避检测;三、语词变换(Word transformation)。采用如“猪拉丁”(Pig Latin)语言游戏或者同义词替换(如用pilfer代替steal)改变语言结构的方式将敏感词分解为子字符串,混淆其原意或改变上下文含义,从而制造导致模型安全机制有效性下降的输入场景。
基于模型的自动化红队演练(Automated model-based red teaming)。其中包含三个模型:攻击模型(attacker model)、靶机模型(target model)和裁判模型(judge)。采用一个高性能分类器以判别某个模型输出是否有害,则该分类器可被用作一个奖励函数,用于训练一个针对另一个模型专门生成越狱内容的进攻性模型。经验证明,使用此类算法查找越狱攻击的效率可能比现有算法高出几个数量级,每次成功越狱只需要数十次查询。自动化生成的越狱提示词同样具备可迁移性[45]。
(1)数据窃取(Data Extraction)攻击
GenAI的训练数据中一般包含专有或敏感信息。GenAI在具体应用中也会采用精心制作的提示词,或者在RAG应用场景中,被接入外部敏感信息。以窃取这些信息为目的的攻击方法是大语言模型和文本-图像模型领域都正在进行的研究。
①敏感信息泄露(Leaking sensitive information)。Catlini等人最先提出了一种针对生成式语言模型的数据窃取攻击方法[46],该方法通过对神经网络“意外记忆”现象的利用提取其数据集中人为设置的噪点;其后续研究展示了针对基于Transformer结构的大语言模型的数据窃取攻击,比如GPT-2[47]。其大致方式是:采用不同前置词(prefix)对模型进行提示,同时发起一次成员推断攻击,以确定模型输出是否是数据集的一部分。由于自回归模型的特性,有关个人信息的前置词可能会导致模型基于输入文本生成敏感信息,包括电子邮件地址、电话号码和地点等。此类行为特性为多数近新Transformer模型所共有。区别于PredAI系统,攻击者可以直接要求GenAI系统泄露其重复对话情境中所存在的敏感信息,如电子邮件地址被泄露的概率超过8%(尽管提供的电子邮件所有者可能是错误的)。一般而言,规模和容量越大的模型越容易遭到精准重构[48]。
②提示词及上下文窃取(Prompt and context stealing)。鉴于其对大语言模型在特定应用情景下促使大语言模型对齐人类意图、遵循指令的重要作用以及对模型性能的显著影响,提示词具有极高的价值,常被视为商业秘密。提示词窃取攻击可能威胁企业的知识产权或者使商业模型受到提示词交易市场的损害。Shen等人提出的PromptStealer是一种基于学习方法对文本-图像模型的提示词进行重构的攻击方法,通过一个图片说明模型(image captioning model)和一个多标签分类器组合实现[49]。对于大语言模型,研究显示一小组固定的攻击模式能以超过60%的成功率窃取模型提示词和数据集对(dataset pairs),如“Repeat all sentences in our conversation(重复对话中的所有语句)”[50]。在RAG应用场景中,同样的方法可被用于窃取对话上下文中所接入的外部敏感信息。
(2)应对措施
已有多种针对直接提示注入攻击的防御措施。这些措施能够提供一定程度的保护,但是尚未达到完全安全的地步。现有措施大致可以分类三类:
①对齐训练(Training for alignment)。通过严格的前馈对齐(forward alignment)[51]打造模型的内置安全机制。比如,可以使用经过精心策划和预先对齐的数据集对模型进行微调,并通过基于人类反馈的强化学习的方式对模型进行对齐训练。
②提示词指令及格式化方法(Prompt instruction and formatting techniques)。可以通过提示词指令提示模型谨慎对待用户输入[52][53]。比如,通过在提示词中加入特定指令的方式,预先就可能导致越狱发生的内容对模型进行提示。也可以将用户输入置于提示词指令前,进而利用模型指令遵循的“就近偏好”(recency bias),促进其遵循提示词指令。也可以将提示词指令包括在随机字符或者特定HTML标签内,以提示模型区分系统指令与用户输入。
③检测方法(Detection techniques)。通过严格的反馈对齐(backward alignment)训练以打造模型的内置安全机制,一般通过专门的基准数据集(benchmark datasets)进行评测,或者使用筛查器对模型的输入和输出进行监视。已经提出的一些具体方法包括另使用一个经过专门提示的大语言模型协助辨识潜在的对抗性提示词[54][55]。此外,一些大模型商业产品也已经开始运用恶意用户输入检测以及抗越狱的模型输出防火墙等方法抵御对抗性攻击。报告指出,以上各种方式可以通过纵深防御理念(defense-in-depth)予以补充保证。
最后,针对提示词窃取的防御措施还未经严密证明。诸多防御方式基本拥有一个共性,即将模型输出文本与提示词进行比对,区别仅在于比对方式上。
3.间接提示注入攻击(Indirect Prompt Injection Attacks)
在RAG场景中,拥有资源控制能力的攻击者可以间接或远程地向模型注入系统提示。间接提示注入攻击可能造成可用性破坏(availability violations)、完整性侵袭(integrity violations)、私密性减损(privacy compromises)以及滥用(abuse violations)。
(1)可用性破坏
攻击者可能向模型提供恶意输入,增加其计算量,或者通过大量用户输入压制系统响应进而制造拒绝服务攻击(denial of service)。通过增加计算量实现的可用性攻击使得模型或服务运行速度极为缓慢[56]。在PredAI中,此类攻击一般通过优化“海绵样本”(sponge samples)实施能源效率攻击实现。而在GenAI中,该过程简化为命令模型在后台完成一个极其耗费时间的任务即可[57]。拒绝服务攻击足以使一个模型彻底丧失可用性,或者使其丧失特定功能。一些攻击方式比如:
高耗时的后台任务(Time-consuming background tasks)。攻击者指令模型执行一个极其耗时的任务(通常包含某种循环动作)。
禁言(Muting)。在大语言模型中,如果模型生成了停止标记(即“<|endoftext|>”标记),则模型无法继续生成其余的语句。攻击者可以在提示词中纳入一个要求模型用停止标记开始生成的要求,从而终止任何生成行为。
能力遏制(Inhibiting capabilities)。攻击者在提示词中嵌入某种禁止模型使用特定API的指令(如BingChat的检索功能),从而有针对性地瘫痪服务的特定组件。
输入或输出扰乱(Disrupting input or output)。攻击者在提示词中指令模型在检索到的文本中以同源字形(homoglyph)替换特定字符,从而扰乱基于该段文本对于API的访问。攻击者也可以使用提示词指令模型损坏查询结果,进而使得检索或者文本概要不可使用。
(2)完整性侵袭
完整性侵袭是导致GenAI系统变得不可信的关键威胁。AI聊天机器人助长了虚假信息的在线传播,如谷歌Bard和微软必应聊天机器人倾向于引用来源于对方的虚假信息[58]。攻击者可以利用大语言模型对新闻及信息来源可靠性判别能力的不足来生产在事实信息上不可靠的输出。一些攻击方式包括:
操纵(Manipulation)。已经存在通过操纵大语言模型的首要任务实现的完整性攻击。在操纵攻击中,攻击者指令模型提供与所引用的信息来源相冲突的错误答案[59]。操纵攻击主要可分为两类:(一)错误概要(Wrong summaries),即提示模型就文档、电邮或搜索结果生成攻击者所指示的或者任意错误的概要;(二)散布假消息(Propagate disinformation),即攻击者可以提示检索式的聊天机器人基于不可信赖的信息来源或者其他聊天机器人的输出生成信息,从而进一步散布假消息。
(3)私密性减损
间接提示注入带来了一系列全新的隐私威胁。正是因为担忧隐私,意大利首先禁止了ChatGPT的应用,聊天机器人泄露敏感信息以及聊天记录的情况也有多例[60]。在私密性攻击中,攻击目标可分为两类:
①信息收集(Information gathering)。在“人在回路”式间接提示中,攻击者可以对大语言模型进行间接提示注入,侵害其完整性,操纵其诱导用户泄露个人信息,进而从模型与搜索引擎的查询交互中获知相关信息。此外,在非“人在回路”模式下,对于拥有用户数据访问权限的虚拟助理的攻击也会造成类似的隐私问题。
图 8 “人在回路”式隐私攻击示意图。其中,箭头1表示遭到间接提示注入的模型试图说服用户泄露个人信息。信息通过箭头2传递给模型后,通过搜索引擎查询的“副效应”(箭头3和4)传递给攻击者。[61]
②未经授权披露(Unauthorized disclosure)。由于模型常被嵌入系统基础设施,即为未经授权披露用户隐私数据或者非法提权提供了可能性。攻击者可能利用各种方式通过后门攻击实现对大语言模型或者系统的访问。
私密性攻击的一些方法包括:
人在回路间接提示(Human-in-the-loop indirect prompting)。攻击者可以利用模型读取动作(Read operations,如发起一次向攻击者发出请求的查询访问或者直接获取URL)使得信息被传送至自己;
聊天会话交互(Interacting in chat sessions)。模型尝试说服用户泄露自己的隐私信息(如姓名),或者跟随攻击者设置的URL,并在其中插入自己的姓名。
隐形Markdown图片(Invisible markdown image)。攻击者可以通过间接提示注入,操纵聊天机器人在输出中插入一个单像素的Markdown图片或者字符串以掩盖一个会导致用户信息泄露的恶意链接。Bing Chat即具备生成此种Markdown图片的能力。
(4)滥用
报告认为滥用总体上指攻击者采用间接提示注入的方式,重新定义系统的预期用途并用以达成自己的目标。攻击目标大致可分为三类:
①欺诈(Fraud)。大语言模型指令遵循技术的进展同时也恶化了其两用型风险。
②恶意软件(Malware)。大语言模型可通过向用户建议恶意链接的方式极大地助长恶意软件传播。此外,大语言模型嵌入式应用程序的兴起使得恶意提示词本身可能成为恶意软件(AI蠕虫).比如,一个内置大语言模型的邮箱客户端在已经因间接提示攻击而中毒的情况下,可能会通过读取、生成与转发邮件的方式,将恶意提示词以间接提示注入攻击的方式传播给其他可能读取这些邮件的模型。
③操纵(Manipulation)。大语言模型构成了信息源和用户间一个易于操纵的、脆弱的中间层。比如,搜索式聊天机器人可能被提示生成假消息、隐藏特定检索结果或者生成错误摘要,在用户无法辨识其真伪、过于依赖AI工具或过于轻易相信相关结果的情况下,将导致用户更为频繁地受到此类操纵。
目前,有关滥用攻击方式的研究主要依靠利用聊天机器人进行实验的方式开展(如微软的Bing Chat)。主要可分为如下类别:
钓鱼(Phishing)。大语言模型可以生成具有高度说服力的欺诈性信息,比如钓鱼邮件。随着嵌入大语言模型的应用程序兴起,它们不但可以生成这些欺诈信息,还可以更有效地传播它们。
假冒(Masquerading)。大语言模型可能伪装成来自某个服务提供商的官方请求,或者将一个诈骗性网站作为可信赖网站推荐。
注入扩散(Spreading injections)。如前文所述,大语言模型可能扩散恶意的提示注入攻击或者恶意代码。
恶意软件扩散(Spreading malware)。如前文所述,大语言模型可能向用户推荐携有路过式下载(drive-by downloads,指不希望用户知晓且在用户不知情的情况下进行的下载行为)的恶意网站,也可以通过生成Markdown格式等方式隐藏或伪装恶意网站链接。
歪曲历史(Historical distortion)。攻击者可以提示模型输出基于对抗性目的所选择的虚假信息。比如,研究显示Bing Chat可以被提示词引导,进而否定爱因斯坦系诺贝尔奖得主。
边缘相关的上下文提示(Marginally related context prompting)。攻击者可以操纵模型给出的搜索结果,令其“驶离”中立立场并导向特定方向,从而达到强化偏见的效果,可以通过赋予模型以“保守派”、“民主党”等“人格”(personas)的方式实现。
(5)应对措施
现有的应对措施能够提供一定程度的保护,但是尚不能彻底解决问题。现有的应对措施主要可以分为以下几类:
①基于人类反馈的强化学习(Reinforcement learning from human feedback, RLHF)。
②检索信息筛选(Filtering retrieved inputs)。系一种由Greshake等人提出的方法[62],旨在从检索拉取的信息中筛除指令。
③大语言模型监督员(LLM moderator)。可以在对有害输出进行检测的基础上,使用一个大语言模型进行攻击检测。此方法对于检测非基于检索拉取的信息开展的攻击可能有一定帮助,但对于虚假信息检测或者其他类型的操纵攻击可能没有防御能力。
④基于可解释性的方案(Interpretability-based solutions)。通过分析神经网络隐藏层对模型预测轨迹(prediction trajectories)进行异常值检测(outlier detection),以此发现异常输入(anomalous input)。系Nora等人提出的一种名为“调谐透镜”(Tuned Lens)的方法。
4
讨论及其他挑战
报告文末讨论了一些挑战和其他待解决的问题,分别是如下七类:
(一)由规模带来的挑战
随着模型规模的扩大,所消耗的训练数据成比例地增长,而最先进的多模态GenAI系统的每个模态都要消耗大量数据,进一步增进了此趋势。报告指出,没有任何一个组织或者国家自身拥有训练一个大语言模型所需的一切数据。数据存储库(Data repositories)并非单一、独立的数据容器,而是一系列由标签和指向其他数据源的链接组成的列表。这使得对于公司网络安全边界(Corporate cybersecurity perimeter)的传统定义不再具有意义。近期所出现的一些规模化的数据投毒方法——尽管最初是为了帮助艺术家保护他们的著作权的高尚目的而设计,同样可被用于从事恶意的攻击性活动。另一项与规模相关的挑战是大模型在互联网上规模化地制造合成内容(synthetic content)的能力。水印(Watermarking)能够在一定程度上缓解该问题,但考虑到存在大量开源模型以及其他不受管理的模型,由这些模型产生的海量未加水印的内容可能会对后续模型训练造成负面影响,甚至造成模型崩溃。
(二)抗对抗性攻击稳健性(Adversarial Robustness)的理论制约
正如前文所提到的,在当下的机器学习领域,缺乏从信息论意义上可证明安全的机器学习算法,意味着当下所设计的诸多应对方案从根本上是一种权宜之计,且容易出错。报告建议读者参考现有的应对对抗性机器学习攻击的实践导引规则[63]。报告提示,聊天机器人技术是一种新兴技术,只应当在对其生成信息具有高度可信度要求且就风险进行充分监控与提示的应用程序中。从现实风险管理角度而言,对技术的整个生命周期进行贯穿式的风险管理极为重要,可以提前识别风险并策划应对措施,诸如训练阶段的红队演练和采取文件训练方法等做法都是这方面的良好案例。
报告另指出,既存的对抗性机器学习攻击方式和应对方案间不成比例,且攻击方和防卫方间的攻防竞赛已经开始。在某些情况下,某种新兴的AI技术在社会面引起巨大关注,同时也引起了攻击者的关注。攻击者可以在技术成熟、其风险充分得到评估和管理之前,利用其诸多弱点和漏洞。此外,并非所有攻击者都是恶意的,也不是所有攻击类型都具备足以对AI系统部署造成实质性威胁的可操作性。基于此,报告提出了如下开放性问题:
随着模型规模和数据量不断扩大,如何更好地应对因神经网络记忆现象造成的潜在脆弱点?
如何更好遏制攻击者使用报告所提及的各种方式发动成员推断及属性推断攻击?
在攻击者可以进行旁路攻击,或者通过公共API等方式向模型发起查询访问并推断其权重信息的情况下,开发者如何更好地保护机器学习模型权重及相关知识产权项的私密性?
(三)模型开源/闭源困局
开源已成为当代软件开发的一项不可或缺的方法论,能够带来多项益处。在此基础上,模型领域的开源得到了模型访问“民主化”、公平竞争以及促进AI领域科研等主张的支撑。然而,开源也同样使得强大的AI技术可以被恶意行动者所获取。由此便生发了是否应当允许模型领域的开源的问题。
报告指出,同样的问题在其他科学和工程领域也被提出过,比如社会已经接受了密码学可能被不适当的人所使用的风险,且密码学算法已经开放公共访问,正在被广泛地使用。然而,在生物工程领域,社会认为由不受控的基因工程所带来的风险是不可接受的。报告认为有关开源/闭源的争论应该在模型能力发展到过于强大以至于讨论此问题不再具有意义之前予以解决。
(四)供应链挑战
报告指出,可以通过木马(Trojans)[64]诱发模型的特定行为。木马是一种隐藏在系统代码中的恶意代码或逻辑。木马可以通过开源模型等媒介向供应链下游扩散,威胁包括闭源模型在内的模型。Goldwasser等人近期提出了一种从信息论意义上无法检测的机器学习模型木马[65]。报告指出,如此类方法被验证是可行的,那么唯有从整个技术生命周期层面控制组织内具有对模型访问权限的人以及对供应链内任何第三方组件进行彻底审查,才能够防御此类攻击。
(五)可信AI各属性间的取舍
报告指出,AI系统的可信度由多项属性综合决定。比如,一个准确但是不具备攻击抗性的AI系统是不可信的;一个高度稳健但是输出结果有害或者具有偏见的AI系统也是不可信的。此外,在可解释性和抗对抗性攻击稳健性之间也存在取舍;在公平性和私密性间也存在取舍。报告指出,同时最大化前述诸多优良属性是不可能的。在大部分情况下,组织需要在充分考虑AI系统性质、使用场景,并综合考虑其经济、社会、文化、政治及全球影响的基础上,就此类取舍作出决策。
(六)多模态模型的稳健性问题
报告指出,与传统信念相反,实践经验证明多模态模型并不必然因为其在多个模态上具备的额外信息而更加稳健;仅凭融合多个模态并在干净数据上训练模型无法提升其稳健性。不仅如此,多模态训练还极大地增加了落实抗对抗性攻击训练的开销;使多模态模型所具备的额外信息有利于稳健性需要额外的投入。否则,针对单一模态模型的攻击同样对多模态模型有效。此外,研究也已经提出了可以同时作用于所有模态类型的攻击方案。
(七)模型量化(Quantization)问题
量化是一种通过减少模型运行所需的算力和存储空间,使得模型得以在边缘计算平台(如智能手机、物联网设备)被部署的方式,在PredAI系统中广泛使用,并愈发频繁地被应用于GenAI系统。经过量化的模型留存了初始模型的脆弱点,并且制造了新的脆弱点;而计算量和精度的降低则强化了模型的出错率,也降低了其抗对抗性攻击的稳健性。报告指出,目前针对GenAI系统量化安全性的研究不足,在部署此类模型时应当予以额外注意。
5
报告的意义——对抗性机器学习攻击没有万能钥匙
在传统网络安全范畴之外,愈发强大的机器学习与人工智能技术正在面临前所未有的全新挑战。在对抗性机器学习中,已有的攻击手段远多于防御方法;对于诸多全新的攻击类型,想找到同通行有效的解决方案极其困难。该报告发布后,来自NIST内部及产业界人士就报告内容及其所涵盖的议题发表了评论。NIST 计算机科学家 Apostol Vassilev 说:“尽管人工智能和机器学习已经取得了重大进展,但这些技术仍然容易受到攻击,从而导致重大损失并造成严重后果。人工智能算法安全还有许多理论问题尚未解决。如果有人不这么说,那肯定在蒙人。”
SaaS 安全公司 AppOmni 的首席人工智能工程师兼安全研究员约瑟夫-萨克(Joseph Thacker)对 NIST 的这份报告给予高度评价,称这是他生平所见“最好的人工智能安全出版物”。他说道,“最值得注意的是报告的深度和覆盖面。这是我遇到过的关于AI系统对抗性攻击的最具深度的内容。它涵盖了提示注入攻击的不同形式,详细描述了此前分类不明的技术组件,并给出了相关术语。它甚至引用了大量的真实案例,如 DAN(Do Anything Now)越狱攻击,以及一些令人惊叹的有关间接提示注入攻击的工作。”
Thack补充道:“报告以多个章节的篇幅介绍了潜在缓解措施,但明确表示对抗攻击问题尚未解决。开源模型还是闭源模型的讨论亦涵盖其中。报告末尾还附了一张很有帮助的词汇表,我个人计划在研究AI安全或撰写相关文章时将之用作大语言模型(LLM)的附加‘语境’。这样可以确保LLM和我都按特定于该领域的相同定义行事。”
EchoMark 公司是一家通过在文档和信息中嵌入隐形取证水印来保护敏感信息的公司,其首席执行官兼创始人Troy Batterberry也评论说:“NIST 的对抗性机器学习报告有利于开发人员更好地了解针对AI系统的攻击。报告中的攻击分类和应对方案凸显出不存在通用解决方案的事实,但了解对手的运作方式并做好准备是应对风险的关键。”
“作为一家利用AI和大语言模型作为开展业务的公司,我们深知必须保护AI发展安全,也鼓励对AI安全领域进行投入,以确保AI系统稳健可信。了解针对AI系统的攻击方式并为之做好准备不仅是一个技术问题,也是在越来越多的人工智能驱动型业务解决方案中保持信任和完整性所必需的战略要务。”[66]
[1] Vassilev A, Oprea A, Fordyce A, et al. Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations[J]. 2024.
[2] 根据《术语表》定义,RAG指从基座模型外部检索数据并加入上下文的方式来增强提示。RAG 可以有效地调整和修改模型的内部知识,而无需重新训练整个模型。详见报告第97页。
[3] 该图系报告所使用的示意图的翻译版本,展示了对抗性机器学习中针对PredAI系统的攻击分类概览。三个互不相交的圆代表了攻击者目标(Attacker’s objective),每个圆的核心代表了攻击者目的(Attacker’s goal)。圆环外围的扇形则代表了发动一次攻击所需的攻击者能力。攻击类别表示为与发动每次攻击所需能力相连接的标识(Callouts);基于同种能力达成同种目标的多个攻击类别显示在同一个标识中。需要不同攻击者能力达成同种目标的互相关联的攻击类别以圆点虚线表示。参见报告第6页。
[4] 根据《术语表》定义,对抗性实例指“受到篡改的、会导致机器学习模型在部署阶段做出不当分类(Misclassification)的测试样本。”详见报告第92页。
[5] 根据《术语表》定义,“能源效率攻击”是指“利用(机器学习)性能对硬件和模型优化的依赖性以抵消硬件优化效果、增加计算延迟、提高硬件温度并且大幅增加能耗的攻击行为”。详见报告第93页。
[6] 根据《术语表》定义,“后门规律”指“一种在数据样本中插入的触发模式,以诱导中毒模型产生错误分类”。详见报告第92页。
[7] Christian Szegedy, Wojciech Zaremba, Ilya Sutskever, Joan Bruna, Dumitru Erhan, Ian Goodfellow, and Rob Fergus. Intriguing properties of neural networks. In International Conference on Learning Representations, 2014.
[8] Battista Biggio, Igino Corona, Davide Maiorca, Blaine Nelson, Nedim Srndic, Pavel Laskov, Giorgio Giacinto, and Fabio Roli. Evasion attacks against machine learning at test time. In Joint European conference on machine learning and knowledge discovery in databases, pages 387–402. Springer, 2013.
[9] Hongyan Chang等人的研究表明,为了抵消训练数据中的偏置(Bias)影响,对不同规模和分布的组给予同样的重视,可能与模型稳健性相冲突。参见Hong Chang, Ta Duy Nguyen, Sasi Kumar Murakonda, Ehsan Kazemi, and R. Shokri. On adversarial bias and the robustness of fair machine learning. https://arxiv.org/abs/2006.08669, 2020.
[10] R. Perdisci, D. Dagon, Wenke Lee, P. Fogla, and M. Sharif. Misleading worm signature generators using deliberate noise injection. In 2006 IEEE Symposium on Security and Privacy (S&P’06), Berkeley/Oakland, CA, 2006. IEEE.
[11] Ram Shankar Siva Kumar, Magnus Nystr¨om, John Lambert, Andrew Marshall, Mario Goertzel, Andi Comissoneru, Matt Swann, and Sharon Xia. Adversarial machine learning - industry perspectives. https://arxiv.org/abs/2002.05646, 2020.
[12] Nicholas Carlini, Matthew Jagielski, Christopher A Choquette-Choo, Daniel Paleka, Will Pearce, Hyrum Anderson, Andreas Terzis, Kurt Thomas, and Florian Tramer. Poisoning web-scale training datasets is practical. arXiv preprint arXiv:2302.10149, 2023.
[13] Yuzhe Ma, Xiaojin Zhu, and Justin Hsu. Data poisoning against differentially-private learners: Attacks and defenses. In In Proceedings of the 28th International Joint Conference on Artifcial Intelligence (IJCAI), 2019.
[14] Tianyu Gu, Kang Liu, Brendan Dolan-Gavitt, and Siddharth Garg. BadNets: Evaluating backdooring attacks on deep neural networks. IEEE Access, 7:47230–47244, 2019.
[15] Ahmed Salem, Rui Wen, Michael Backes, Shiqing Ma, and Yang Zhang. Dynamic backdoor attacks against machine learning models. https://arxiv.org/abs/2003.036 75, 2020.
[16] 根据《术语表》定义,“功能性攻击”是指针对某一领域的一组数据而不是每个数据点进行优化的对抗性攻击。详见报告第94页。
[17] Shaofeng Li, Minhui Xue, Benjamin Zi Hao Zhao, Haojin Zhu, and Xinpeng Zhang. Invisible backdoor attacks on deep neural networks via steganography and regularization. IEEE Transactions on Dependable and Secure Computing, 18:2088–2105, 2021.
[18] Yunfei Liu, Xingjun Ma, James Bailey, and Feng Lu. Refection backdoor: A natural backdoor attack on deep neural networks. In Andrea Vedaldi, Horst Bischof, Thomas Brox, and Jan-Michael Frahm, editors, Computer Vision–ECCV 2020, pages 182–199, Cham, 2020. Springer International Publishing.
[19] Yingqi Liu, Wen-Chuan Lee, Guanhong Tao, Shiqing Ma, Yousra Aafer, and Xiangyu Zhang. ABS: Scanning neural networks for back-doors by artifcial brain stimulation. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, CCS19, page 1265–1282, New York, NY, USA, 2019. Association for Computing Machinery.
[20] Xijie Huang, Moustafa Alzantot, and Mani Srivastava. NeuronInspect: Detecting backdoors in neural networks via output explanations, 2019.
[21] Huili Chen, Cheng Fu, Jishen Zhao, and Farinaz Koushanfar. DeepInspect: A blackbox trojan detection and mitigation framework for deep neural networks. In Proceedings of the Twenty-Eighth International Joint Conference on Artifcial Intelligence, IJCAI-19, pages 4658–4664. International Joint Conferences on Artifcial Intelligence Organization, 7 2019.
[22] Xiaojun Xu, Qi Wang, Huichen Li, Nikita Borisov, Carl A. Gunter, and Bo Li. Detecting AI trojans using meta neural analysis. In IEEE Symposium on Security and Privacy, S&P 2021, pages 103–120, United States, May 2021.
[23] 根据《术语表》定义,“影子模型”是指一类模仿目标模型行为的模型,有关这些模型的训练数据集以及关于其构成信息的事实(ground truth)都是已知的。一般而言,攻击模型(attack model)以影子模型经过标签的输入和输出进行训练。详见报告第97页。
[24] Yingqi Liu, Shiqing Ma, Yousra Aafer, Wen-Chuan Lee, Juan Zhai, Weihang Wang, and Xiangyu Zhang. Trojaning attack on neural networks. In NDSS. The Internet Society, 2018.
[25] Andrew Yuan, Alina Oprea, and Cheng Tan. Dropout attacks. In IEEE Symposium on Security and Privacy (S&P), 2024.
[26] Nils Homer, Szabolcs Szelinger, Margot Redman, David Duggan, Waibhav Tembe, Jill Muehling, John V Pearson, Dietrich A Stephan, Stanley F Nelson, and David W Craig. Resolving individuals contributing trace amounts of DNA to highly complex mixtures using high-density SNP genotyping microarrays. PLoS genetics, 4(8):e1000167, 2008.
[27] Irit Dinur and Kobbi Nissim. Revealing information while preserving privacy. In Proceedings of the 22nd ACM Symposium on Principles of Database Systems, PODS’03, pages 202–210. ACM, 2003.
[28] Simson Garfnkel, John Abowd, and Christian Martindale. Understanding database reconstruction attacks on public data. Communications of the ACM, 62:46–53, 02 2019.
[29] Samuel Yeom, Irene Giacomelli, Matt Fredrikson, and Somesh Jha. Privacy risk in machine learning: Analyzing the connection to overftting. In IEEE Computer Security Foundations Symposium, CSF ’18, pages 268–282, 2018. https://arxiv.org/ abs/1709.01604.
[30] 根据《术语表》定义,旁路攻击允许攻击者通过观察程序的非功能特征(如执行时间或内存),或通过测量或利用系统或其硬件的间接巧合效应(如功耗变化、电磁辐射),在程序执行时推断出私密信息。详见报告第97页。
[31] Lejla Batina, Shivam Bhasin, Dirmanto Jap, and Stjepan Picek. CSI NN: Reverse engineering of neural network architectures through electromagnetic side channel. In Proceedings of the 28th USENIX Conference on Security Symposium, SEC’19, page 515–532, USA, 2019. USENIX Association.
[32] Adnan Siraj Rakin, Md Hafzul Islam Chowdhuryy, Fan Yao, and Deliang Fan. DeepSteal: Advanced model extractions leveraging effcient weight stealing in memories. In 2022 IEEE Symposium on Security and Privacy (S&P), pages 1157–1174, 2022.
[33] Giuseppe Ateniese, Luigi V. Mancini, Angelo Spognardi, Antonio Villani, Domenico Vitali, and Giovanni Felici. Hacking smart machines with smarter ones: How to extract meaningful data from machine learning classifers. Int. J. Secur. Netw., 10(3):137–150, September 2015.
[34] Matthew Jagielski, Jonathan Ullman, and Alina Oprea. Auditing differentially private machine learning: How private is private SGD? In Advances in Neural Information Processing Systems, volume 33, pages 22205–22216, 2020.
[35] Lucas Bourtoule, Varun Chandrasekaran, Christopher A. Choquette-Choo, Hengrui Jia, Adelin Travers, Baiwu Zhang, David Lie, and Nicolas Papernot. Machine unlearning. In 42nd IEEE Symposium on Security and Privacy, SP 2021, San Francisco, CA, USA, 24-27 May 2021, pages 141–159. IEEE, 2021.
[36] 该图系报告所使用的示意图的翻译版本,展示了GenAI对抗性机器学习攻击者目标(Aattacker’sobiective)分为四类:可用性破坏、完整性侵袭、私密性减损。此外,对于GenAI,由滥用(abuse)带来的危害也不容忽视。攻击者发起某类攻击所必需的能力在圆环外围表示;攻击类别以针对每一类能力进行的标识(callouts)表示。需要同种能力对于同种攻击目标发起的多类攻击以单个标识表示。参见报告第36页。
[37] 根据《术语表》定义,指模型在训练的最初阶段中,从大量无标签数据中习得总体模式、特征及关系。预训练通常通过无监督或自监督方式进行,作为精调阶段的前置步骤。详见报告第96页。
[38] 根据《术语表》定义,指使得预训练模型适应于特定任务或者特定领域的过程,紧随预训练阶段实施,需要将模型在领域专门的数据上进行进一步训练,通常以有监督学习方式进行。详见报告第94页。
[39] Nicholas Carlini. Poisoning the unlabeled dataset of Semi-Supervised learning. In 30th USENIX Security Symposium (USENIX Security 21), pages 1577–1592. USENIX Association, August 2021.
[40] Nicholas Carlini, Matthew Jagielski, Christopher A Choquette-Choo, Daniel Paleka, Will Pearce, Hyrum Anderson, Andreas Terzis, Kurt Thomas, and Florian Tramer. ` Poisoning web-scale training datasets is practical. arXiv preprint arXiv:2302.10149, 2023.
[41] Hadi Salman, Alaa Khaddaj, Guillaume Leclerc, Andrew Ilyas, and Aleksander Madry. Raising the cost of malicious ai-powered image editing. In Proceedings of the 40th International Conference on Machine Learning, ICML’23. JMLR.org, 2023.
[42] Ebrahimi, J. et al. “HotFlip: White-Box Adversarial Examples for Text Classification.” Annual Meeting of the Association for Computational Linguistics (2017).
[43] Eric Wallace, Shi Feng, Nikhil Kandpal, Matt Gardner, and Sameer Singh. Universal adversarial triggers for attacking and analyzing nlp. arXiv preprint arXiv:1908.07125, 2019.
[44] Alexander Wei, Nika Haghtalab, and Jacob Steinhardt. Jailbroken: How does llm safety training fail? arXiv preprint arXiv:2307.02483, 2023.
[45] Patrick Chao, Alexander Robey, Edgar Dobriban, Hamed Hassani, George J Pappas, and Eric Wong. Jailbreaking black box large language models in twenty queries. arXiv preprint arXiv:2310.08419, 2023.
[46] Nicholas Carlini, Chang Liu, Ulfar Erlingsson, Jernej Kos, and Dawn Song. The Secret Sharer: Evaluating and testing unintended memorization in neural networks. In USENIX Security Symposium, USENIX ’19), pages 267–284, 2019. https://arxiv.org/abs/1802.08232.
[47] Nicholas Carlini, Florian Tram`er, Eric Wallace, Matthew Jagielski, Ariel Herbert- ´ Voss, Katherine Lee, Adam Roberts, Tom Brown, Dawn Song, Ulfar Erlingsson, Alina Oprea, and Colin Raffel. Extracting training data from large language models. In 30th USENIX Security Symposium (USENIX Security 21), pages 2633–2650. USENIX Association, August 2021.
[48] Nicholas Carlini, Daphne Ippolito, Matthew Jagielski, Katherine Lee, Florian Tramer, and Chiyuan Zhang. Quantifying memorization across neural language models. https://arxiv.org/abs/2202.07646, 2022.
[49] Xinyue Shen, Yiting Qu, Michael Backes, and Yang Zhang. Prompt stealing attacks against text-to-image generation models. arXiv preprint arXiv:2302.09923, 2023.
[50] Yiming Zhang and Daphne Ippolito. Prompts should not be seen as secrets: Systematically measuring prompt extraction attack success. arXiv preprint arXiv:2307.06865, 2023.
[51] Jiaming Ji, Tianyi Qiu, Boyuan Chen, Borong Zhang, Hantao Lou, Kaile Wang, Yawen Duan, Zhonghao He, Jiayi Zhou, Zhaowei Zhang, et al. Ai alignment: A comprehensive survey. arXiv preprint arXiv:2310.19852, 2023.
[52] Learn Prompting. Defensive measures, 2023.
[53] Yi Liu, Gelei Deng, Yuekang Li, Kailong Wang, Tianwei Zhang, Yepang Liu, Haoyu Wang, Yan Zheng, and Yang Liu. Prompt injection attack against llm-integrated applications. arXiv preprint arXiv:2306.05499, 2023.
[54] Learn Prompting. Defensive measures, Separate LLM evaluation, 2023. See https://learnprompting.org/docs/prompt_hacking/defensive_measures/llm_eval, last visited: 1.31.2024.
[55] Yi Liu, Gelei Deng, Yuekang Li, Kailong Wang, Tianwei Zhang, Yepang Liu, Haoyu Wang, Yan Zheng, and Yang Liu. Prompt injection attack against llm-integrated applications. arXiv preprint arXiv:2306.05499, 2023.
[56] Kai Greshake, Sahar Abdelnabi, Shailesh Mishra, Christoph Endres, Thorsten Holz, and Mario Fritz. Not what you signed up for: Compromising realworld llm-integrated applications with indirect prompt injection. arXiv preprint arXiv:2302.12173, 2023.
[57] ibid.
[58] Vincent, James. Google and Microsoft’s chatbots are already citing one another in a misinformation shitshow, 2023. See https://www.theverge.com/2023/3/22/23651564/google-microsoft-bard-bing-chatbots-misinformation, last visited: 1.31.2024.
[59] Kai, et al. (n 56).
[60] Ben Derico. Chatgpt bug leaked users’ conversation histories. See https://www.bbc.com/news/technology-65047304, last visited: 1.31.2024.
[61] Kai, et al. (n 56).
[62] Kai, et al. (n 56).
[63] ETSI Group Report SAI 005. Securing artifcial intelligence (SAI); mitigation strategy report, retrieved February 2023 from https://www.etsi.org/deliver/etsi gr/SAI/ 001 099/005/01.01.01 60/gr SAI005v010101p.pdf.
[64] 根据《术语表》定义,木马指“在软件或硬件系统代码中插入的恶意代码/逻辑,通常是系统所有者或开发者不知情或未征得其同意的情况下插入的。这种恶意代码/逻辑难以察觉,看似无害,但一旦攻击者发出信号,就会改变系统的预期功能并诱发攻击者所希望的恶意行为。触发器必须在正常运行环境下罕见,这样才不会影响人工智能的正常功能,也不会引起人类用户的怀疑。”详见报告第98页。
[65] Shaf Goldwasser, Michael P. Kim, Vinod Vaikuntanathan, and Or Zamir. Planting undetectable backdoors in machine learning models. https://arxiv.org/abs/2204.06974, 2022. arXiv.
[66] Eduard Kovacs, NIST: No Silver Bullet Against Adversarial Machine Learning Attacks. See https://www.securityweek.com/nist-no-silver-bullet-against-adversarial-machine-learning-attacks/, last visited: 2.3.2024.
撰稿 | 王锐骐,清华大学智能法治研究院实习生
选题&指导 | 刘云
编辑 | 王欣辰
注:本公众号原创文章的著作权均归属于清华大学智能法治研究院,需转载者请在本公众号后台留言或者发送申请至computational_law@tsinghua.edu.cn,申请需注明拟转载公众号/网站名称、主理者基本信息、拟转载的文章标题等基本信息。